package com.tju.resource.model;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * 采购单表
 */
@Data
public class TbPurchase {
    /**
     * 采购单id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 耗材id
     */
    private Long coId;

    /**
     * 原料id
     */
    private Long rmId;

    /**
     * 生产计划id
     */
    private Long ppId;

    /**
     * 用途
     */
    @NotNull(message = "请输入用途")
    private String beUse;

    /**
     * 状态(0未采购,1已订货 2采购成功)
     */
    private Integer appStatus;
    /**
     *  审核人
     */
    private String appBy;
    /**
     * 审核时间
     */
    private Date appTime;
    /**
     * 采购数量
     */
    private Integer needs;
    /**
     * 采购重量
     */
    private Double rmWeight;
    /**
     *  采购类型(0原料 1 耗材)
     */
    private int type;
    /**
     * 单价
     */
    private double price;

    /**
     * 金额
     */
    private double amount;

    /**
     * 采购请求来源(车间/采购部)等等
     */
    @NotNull(message = "请选择申请来源")
    private String srcFrom;

    /**
     * 创建者
     */
    private String createBy;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 耗材名称
     */
    @TableField(exist = false)
    private String coName;
    /**
     * 耗材规格
     */
    @TableField(exist = false)
    private String coGauge;
    /**
     * 原材料名称
     */
    @TableField(exist = false)
    private String rmName;
    /**
     * 原材料编号
     */
    @TableField(exist = false)
    private String rmNo;

    /**
     * 原料类型(1:原料,2:其他)
     */
    @TableField(exist = false)
    private int rmType;
    /**
     * 原料单位
     */
    @TableField(exist = false)
    private String rmUnit;
    /**
     * 审核数量
     */
    @TableField(exist = false)
    private Integer quantity;
    /**
     * 审核重量
     */
    @TableField(exist = false)
    private Double weight;

    /**
     * 报废原因
     */
    @TableField(exist = false)
    private String remark;
}